/*
 * @Author: moonwater 13812995013@163.com
 * @Date: 2025-03-06 09:22:53
 * @LastEditors: moonwater 13812995013@163.com
 * @LastEditTime: 2025-03-06 10:15:04
 * @FilePath: \盐师22Git仓库\day09\Truck.java
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
package day09;

//继承车辆类
public class Truck extends Automobile {
    // 继承车辆类的非private成员
    // 子类自己扩展的属性
    // 类型大 中 小
    private String type;

    // 子类自己扩展的方法
    // get，set
    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    // 构造器
    // 无参构造器
    public Truck() {

    }

    // 全参构造器
    public Truck(String brand, String plateNumber, String type) {
        super(brand, plateNumber);// 借用父类构造器
        this.type = type;
    }

    public double getRent(int days) {
        double rent = 0.0;
        // 子类自己计算租金的方法 —— 重写父类方法
        switch (type) {
            case "小型":
                rent = 300 * days;
                break;
            case "中型":
                rent = 350 * days;
                break;
            case "大型":
                rent = 3500 * days;
                break;
            default:
                rent = 999999.9;
                break;
        }
        return rent;
    }

    // show
    public void show() {
        System.out.println("车辆的品牌是：" + getBrand() +
                " 车辆的车牌号为：" + getPlateNumber() +
                " 车辆类型是：" + type);
    }
    @Override
    public String toString(){
        return "Truck[车辆的品牌是：" + getBrand() +
                " 车辆的车牌号为：" + getPlateNumber() +
                " 车辆类型是：" + type + "]";
    }
}
